package team.knowers.qzh.qzhserver.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import team.knowers.qzh.qzhserver.dao.entity.QuestionAnswerDO;
import team.knowers.qzh.qzhserver.dto.req.EvaluationPageReqDTO;
import team.knowers.qzh.qzhserver.dto.req.PublicAnswerReqDTO;
import team.knowers.qzh.qzhserver.dto.req.PublicQuestionReqDTO;
import team.knowers.qzh.qzhserver.dto.req.QuestionPageReqDTO;
import team.knowers.qzh.qzhserver.dto.resp.AnswerRespDTO;
import team.knowers.qzh.qzhserver.dto.resp.EvaluationPageRespDTO;
import team.knowers.qzh.qzhserver.dto.resp.HomeAnswerRespDTO;
import team.knowers.qzh.qzhserver.dto.resp.QuestionPageRespDTO;

import java.util.List;

/**
 * @author xtg
 */
public interface QuestionAnswerService extends IService<QuestionAnswerDO> {
    /**
     * 发布提问
     */
    Boolean publicQuestion(PublicQuestionReqDTO reqDTO);

    /**
     * 回复某人提问
     */
    Boolean publicAnswer(PublicAnswerReqDTO reqDTO);

    /**
     * 分页展示所有提问 ， 时间倒序
     */
    IPage<QuestionPageRespDTO> pageQuestion(QuestionPageReqDTO requestParam);

    /**
     * 展示某提问的所有问答
     */
    List<AnswerRespDTO> allAnswer(Long id);

    /**
     * 某用户最近发布评论
     */
    List<HomeAnswerRespDTO> homeUserAnswerByTimeDesc(Long userId);
}
